static file
Table of contents
static file 의미
static file은 front matter가 없는 파일을 뜻합니다.
이미지나 PDF 들, 그 밖에 렌더링되지 않는 컨텐츠들이 여기에 속합니다.
이 파일들은 site.static_files 라는 Liquid 태그
를 통해 접근할 수 있으며, 다음과 같은 메타데이터를 갖고 있습니다:
변수 | 설명 |
---|---|
file.path | 파일에 대한 상대 경로. 예, /assets/img/image.jpg |
file.modified_time | 파일이 마지막으로 수정된 `Time`. 예, 2016-04-01 16:35:26 +0200 |
file.name | 파일 이름. 예시, image.jpg 의 경우 image.jpg |
file.basename | 확장자를 제외한 파일 이름. 예시, image.jpg 의 경우 image |
file.extname | 파일의 확장자 이름. 예시, image.jpg 의 경우 .jpg |
위의 표에서, 무엇이든 file
이 될 수 있습니다. 이는 (for 루프 같은) 당신의 로직에서 사용되는 변수를 임의로 설정합니다. 이는 글로벌 사이트 변수나 페이지 변수가 아닙니다.
static file에 front matter 넣기
static file에 front matter을 직접 넣을 수는 없지만, 환경설정 파일의 디폴트 프로퍼티를 통해서 front matter 값들을 설정할 수 있습니다. Jekyll 은 사이트를 생성할 때, 당신이 설정한 front matter 값을 사용할 것입니다.
여기 예시가 있습니다:
당신의 _config.yml 파일에, defaults property 값으로 다음 내용을 추가하세요:
defaults:
- scope:
path: "assets/img"
values:
image: true
이 설정은 당신의 Jekyll 사이트에 이미지 (static file) 들이 저장된 폴더가 assets/img
라는 경로에 있다고 가정합니다. Jekyll 은 사이트를 생성할 때, 이 경로의 이미지들이 image: true
라는 front matter 값을 가지고 있는 것처럼 취급합니다.
당신의 assets/img
에 들어있는 모든 이미지 자원을 나열하는 경우를 가정해봅시다. 이 for 루프를 사용하면 static_files
객체를 확인하여 이 front matter 프로퍼티를 가지고 있는 모든 static file을 얻을 수 있습니다:
{% assign image_files = site.static_files | where: "image", true %}
{% for myimage in image_files %}
{{ myimage.path }}
{% endfor %}
사이트를 생성할 때, 이 front matter 조건을 만족하는 모든 파일의 경로를 나열하게될 것입니다.